layui.use(['table','layer', 'laydate'],function(){
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        laydate=layui.laydate,
        table = layui.table;

    // 日期时间范围
    laydate.render({
        elem: '#ID-laydate-range-datetime',
        type: 'datetime',
        range: true
    });


    var tableIns = table.render({
        elem: '#saleChanceList'
        ,url: ctx + '/shop/listAudit'
        ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
        ,page: true //开启分页
        ,height : "full-125"
        ,limits : [5,10,15,20]
        ,limit : 5
        ,toolbar: "#toolbarDemo"
        ,id : "saleChanceTable"
        ,cols: [[
            {field:'shopName',title: '商铺名称',align:"center"}
            ,{field:'memberName',title: '会员名称',align:"center"}
            ,{field:'shopAddress',  title: '商铺地址',align:"center"}
            ,{field:'selfSupport', title: '是否自营',  minWidth: 100,align:"center",templet:function (d) {
                    return formatterselfSupport(d.selfSupport);
                } } //minWidth：局部定义当前单元格的最小宽度，layui 2.2.1 新增
            ,{field:'shopState', title: '店铺状态', align:"center",templet:function (d) {
                    return formattershopState(d.shopState);
                }}

            ,{field:'createDate', title: '创建时间',align:"center"}
            ,{title: '操作', templet:'#saleChanceListBar',fixed:"right",align:"center",
                minWidth:150}
        ]]
    });

    function formatterselfSupport(state){
        if(state==0) {
            return "<div style='color: gold'>非自营</div>";
        } else if(state==1) {
            return "<div style='color: green'>自营</div>";
        } else {
            return "<div style='color: red'>未知</div>";
        }
    }


    function formattershopState(state){
        if(state==0) {
            return "<div style='color: gold'>非开启</div>";
        } else if(state==1) {
            return "<div style='color: green'>开启中</div>";
        } else {
            return "<div style='color: red'>未知</div>";
        }
    }

    /**
     * 绑定搜索按钮的点击事件
     */
    $(".search_btn").click(function () {
        tableIns.reload({
            where: { //设定异步数据接⼝的额外参数，任意设
                shopName: $("[name='shopName']").val(), // 客户名
                memberName: $("[name='memberName']").val(), // 创建⼈
                creationTime: $("[name='creationTime']").val()//创建时间
            }
            ,page: {
                curr: 1 // 重新从第 1 ⻚开始
            }
        }); // 只重载数据
    });


    /**
     * 监听头部工具栏事件
     *  格式：
     *      table.on('toolbar(数据表格的lay-filter属性值)', function (data) {
     *
            })
     */
    //触发事件
    table.on('toolbar(saleChances)', function(obj){

        switch(obj.event){
            case 'add':
                // 添加操作
                openSaleChanceDialog();
                break;
            case 'del':
                // 删除操作
                deleteShop(obj);
                break;
        };
    });

    function openSaleChanceDialog(id) {
        var title = "<h3>商家管理 - 添加商家</h3>";
        var url = ctx + "/shop/toShopPage";

        if (id != null){
            var title = "<h3>商家管理 - 编辑商家</h3>";
            var url = ctx + "/shop/toShopPage?id=" + id;
        }
        // iframe层
        layui.layer.open({
            // 类型
            type: 2,
            // 标题
            title: title,
            // 宽高
            area: ['500px', '400px'],
            // url地址
            content: url,
            // 可以最大化与最小化
            maxmin:true
        });
    }


    /**
     * 行工具栏监听事件
     table.on('tool(数据表格的lay-filter属性值)', function (data) {

         });
     */
    table.on('tool(saleChances)', function (data) {

        // 得到店铺的ID
        var shopId = data.data.id;
        // 判断类型
        if (data.event == "edit") { // 编辑操作

            // 打开修改营销机会数据的窗口
            openSaleChanceDialog(shopId)

        }else if(data.event == "del"){
            // 弹出确认框，询问用户是否确认删除
            layer.confirm('确定要删除该记录吗？',{icon:3, title:"营销机会管理"}, function (index) {
                // 关闭确认框
                layer.close(index);

                // 发送ajax请求，删除记录
                $.ajax({
                    type:"post",
                    url:ctx + "/shop/delete",
                    data:{
                        ids:shopId
                    },
                    success:function (result) {
                        // 判断删除结果
                        if (result.code == 200) {
                            // 提示成功
                            layer.msg("删除成功！",{icon:6});
                            // 刷新表格
                            tableIns.reload();
                        } else {
                            // 提示失败
                            layer.msg(result.msg, {icon:5});
                        }
                    }
                });
            });
        }
    });

    function deleteShop(data) {
        // 获取数据表格选中的行数据   table.checkStatus('数据表格的ID属性值');
        var checkStatus = table.checkStatus("saleChanceTable");
        console.log(checkStatus);

        // 获取所有被选中的记录对应的数据
        var saleChanceData = checkStatus.data;

        // 判断用户是否选择的记录 (选中行的数量大于0)
        if (saleChanceData.length < 1) {
            layer.msg("请选择要删除的记录！",{icon:5});
            return;
        }

        // 询问用户是否确认删除
        layer.confirm('您确定要删除选中的记录吗？',{icon:3, title:'营销机会管理'}, function (index) {
            // 关闭确认框
            layer.close(index);
            // 传递的参数是数组   ids=1&ids=2&ids=3
            var ids = "ids=";
            // 循环选中的行记录的数据
            for(var i = 0; i < saleChanceData.length; i++) {
                if(i < saleChanceData.length -1) {
                    ids = ids + saleChanceData[i].id + "&ids="
                } else {
                    ids = ids + saleChanceData[i].id;
                }
            }
            // console.log(ids);

            // 发送ajax请求，执行删除营销机会
            $.ajax({
                type:"post",
                url:ctx + "/shop/delete",
                data:ids, // 传递的参数是数组 ids=1&ids=2&ids=3
                success:function (result) {
                    // 判断删除结果
                    if (result.code == 200) {
                        // 提示成功
                        layer.msg("删除成功！",{icon:6});
                        // 刷新表格
                        tableIns.reload();
                    } else {
                        // 提示失败
                        layer.msg(result.msg, {icon:5});
                    }
                }
            });
        });

    }
});